package java_learn.java_jinjie.DataStructure;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/**
 * - java.utils.Collections是集合工具类，用来对集合进行操作。部分方法如下：
 * public static <T> void sort(List<T> list，Comparator<? super T> ):将集合中元素按照指定规则排序。
 * <p>
 * Comparator和Comparable的区别
 * Comparable:自己(this)和别人(参数)比较,自己需要实现Comparable接口,重写比较的规则compareTo方法
 * Comparator:相当于找一个第三方的裁判,比较两个
 * <p>
 * Comparator的排序规则:
 * o1-o2:升序
 */
public class DemoSortAndComparator {
    public static void main(String[] args) {
        ArrayList<Integer> list01 = new ArrayList<>();
        list01.add(1);
        list01.add(3);
        list01.add(2);
        System.out.println(list01);//[1, 3, 2]
        Collections.sort(list01, new Comparator<Integer>() {
            //重写比较参数
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
//                return o2-o1;//降序
            }
        });
        System.out.println(list01);
    }
}
